home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 43.zip / Sources C- WorkDisk V.adf / peck / list3.c < prev    next >
C/C++ Source or Header  |  1987-02-15  |  845b  |  49 lines

  1.  
  2. /* list example 3.1. p.57 Peck */
  3.  
  4. #include "exec/types.h"
  5. #include "exec/lists.h"
  6.  
  7. struct MyListItem
  8. {
  9.  struct Node n;
  10.  int x,y ;
  11. };
  12.  
  13. main()
  14. {
  15.  struct MyListItem mli[9];
  16.  struct MyListItem *mynode;
  17.  struct List MyListHead;
  18.  int i;
  19.  
  20.  NewList(&MyListHead); /* init the list header */
  21.  
  22.  MyListHead.lh_Head = &MyListHead.lh_Tail;
  23.  MyListHead.lh_TailPred = &MyListHead.lh_Head;
  24.  MyListHead.lh_Tail =0;
  25.  
  26.  
  27.  for(i=0;i<9;i++)
  28.  {
  29.   mli[i].x=i;
  30.   mli[i].y=i;
  31.   AddTail(&MyListHead, &mli[i]);
  32.   printf("Just included item nr %d whose (x,y) is (%d,%d)\n",i,mli[i].x,mli[i].y);
  33.  }
  34.  
  35.  for(i=0;i<9;i++)
  36.  {
  37.   mynode = (struct MyListItem *) RemTail(&MyListHead);
  38.   printf("Just removed item whose (x,y) data is (%d,%d)\n",mynode->x,mynode->y);
  39.  }
  40.  
  41.  if(MyListHead.lh_TailPred == &MyListHead.lh_Head)
  42.    printf("OK !!!\n");;
  43.  
  44.  
  45. } /* ====== end of main ====== */
  46.  
  47.  
  48.  
  49.